맨위로가기

아마존 심플 큐 서비스

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

아마존 심플 큐 서비스(SQS)는 아마존 웹 서비스(AWS)에서 제공하는 완전 관리형 메시지 큐 서비스이다. 다양한 프로그래밍 언어의 SDK를 지원하며, 안전한 데이터 처리를 위한 인증 절차를 제공한다. SQS는 최소 한 번의 메시지 전달을 보장하며, 메시지 본문 크기는 최대 256KB까지 지원한다. 드롭박스, 넷플릭스, 쿠팡 등 글로벌 및 한국 기업에서 시스템 안정성 확보를 위해 SQS를 사용한다.

더 읽어볼만한 페이지

  • 메시지 지향 미들웨어 - 마이크로소프트 비즈토크 서버
    마이크로소프트 비즈토크 서버는 다양한 시스템 통합 및 비즈니스 프로세스 자동화를 지원하는 서버 소프트웨어로, 여러 버전이 출시되었으며 어댑터, 가속기 등의 기능을 제공하고 대한민국 여러 산업 분야에서 활용되었으나 클라우드 기반 솔루션의 등장으로 입지가 변화하고 있다.
  • 메시지 지향 미들웨어 - ZeroMQ
    ZeroMQ는 다양한 메시징 패턴을 지원하고 높은 성능을 제공하는 메시지 라이브러리이다.
  • 아마존 웹 서비스 - 아마존 알렉사
    아마존 알렉사는 아마존이 개발한 인공지능 음성 비서로, 스마트홈 기기 제어, 음악 스트리밍, 정보 검색 등의 기능을 제공하지만 개인 정보 보호 논란도 있으며, 아마존은 기능 확장과 수익성 개선을 위해 노력 중이다.
  • 아마존 웹 서비스 - 아마존 레드시프트
  • 프로세스 간 통신 - Ajax
    Ajax는 웹 페이지 전체를 새로고침하지 않고 비동기적으로 서버와 통신하여 웹 애플리케이션의 일부를 업데이트하는 웹 개발 기술로, XMLHttpRequest 객체의 등장으로 가능해졌으며 HTML, CSS, DOM, JavaScript, JSON 등의 기술을 통합하여 동적인 사용자 인터페이스를 구현한다.
  • 프로세스 간 통신 - D-Bus
    D-Bus는 2002년에 시작된 프로세스 간 통신 시스템으로, 시스템 버스와 세션 버스를 통해 정보 공유, 모듈성, 권한 격리를 제공하며, 일대일 요청-응답 및 발행/구독 통신 방식을 지원한다.
아마존 심플 큐 서비스 - [IT 관련 정보]에 관한 문서
개요
종류클라우드 기반 메시지 큐 서비스
개발사Amazon.com
라이선스사유 소프트웨어
웹사이트Amazon Simple Queue Service 공식 웹사이트

2. API

아마존은 자바, 루비, 파이썬, .NET, PHP, Go, 자바스크립트 등 여러 프로그래밍 언어를 위한 SDK를 제공하여 개발자들이 쉽게 SQS를 사용할 수 있도록 지원한다.[3]

2. 1. 지원 프로그래밍 언어

아마존은 다음과 같은 여러 프로그래밍 언어로 SDK를 제공한다.[3]



자바 메시지 서비스(JMS) 1.1 클라이언트는 2014년 12월에 아마존 SQS용으로 출시되었다.

2. 2. [[자바 메시지 서비스]](JMS) 지원

2014년 12월, 아마존 SQS용 자바 메시지 서비스(JMS) 1.1 클라이언트가 출시되었다.[3]

3. 인증 (Authentication)

아마존 웹 서비스(AWS)의 ID를 사용하여 인증을 수행하며, 사용자에게는 Amazon.com의 AWS 지원 계정이 필요하다. 이는 http://aws.amazon.com 에서 생성할 수 있다. AWS는 AWS 지원 계정에 AWS 액세스 키인 관련 ID 쌍을 할당하여 식별을 수행한다.

3. 1. AWS 인증 방식

아마존은 아마존 웹 서비스(AWS) 식별 방식을 사용하며, 사용자는 Amazon.com에 AWS 계정을 가지고 있어야 한다. AWS는 식별을 위해 AWS 계정에 두 가지 관련 식별자를 할당한다.

  • 액세스 키: 20자의 공개 키로, 사용자를 식별하기 위해 AWS 서비스 요청에 포함된다.
  • 비밀 액세스 키: 40자의 개인 키이다. 사용자가 SOAP와 WS-Security를 사용하지 않는 경우, 비밀 액세스 키를 사용하여 디지털 서명이 계산된다.


AWS는 서비스 요청에 제공된 액세스 키 ID를 사용하여 계정의 비밀 액세스 키를 찾는다. 그 후 Amazon.com은 해당 키로 디지털 서명을 계산한다. 서명이 일치하면 사용자가 인증된 것으로 간주되고, 일치하지 않으면 인증이 실패하고 요청이 처리되지 않는다.

3. 2. 인증 절차

Amazon SQS는 데이터의 안전한 처리를 위해 인증 절차를 제공한다. 아마존은 이를 위해 아마존 웹 서비스(AWS) 식별 방식을 사용하며, 사용자는 Amazon.com에 AWS 계정을 가지고 있어야 한다. AWS는 식별을 수행하기 위해 AWS 계정에 두 개의 관련 식별자, 즉 AWS 액세스 키를 할당한다. 첫 번째 식별자는 공개 20자 액세스 키이다. 이 키는 사용자를 식별하기 위해 AWS 서비스 요청에 포함된다. 사용자가 SOAP와 WS-Security를 사용하지 않는 경우, 비밀 액세스 키를 사용하여 디지털 서명이 계산된다. 비밀 액세스 키는 40자리의 개인 식별자이다. AWS는 서비스 요청에 제공된 액세스 키 ID를 사용하여 계정의 비밀 액세스 키를 찾는다. 그 후 Amazon.com은 해당 키로 디지털 서명을 계산한다. 서명이 일치하면 사용자가 인증된 것으로 간주되고, 일치하지 않으면 인증이 실패하고 요청이 처리되지 않는다.

4. 메시지 전달 (Message Delivery)

아마존 SQS는 메시지를 최소 한 번은 전달하도록 보장한다. 메시지는 여러 서버에 중복 저장되어 가용성을 확보한다. 서버를 사용할 수 없을 때 메시지가 전달되면, 해당 서버의 큐에서 삭제되지 않고 나중에 다시 전송될 수 있다. 메시지는 어떤 유형이든 상관없으며, 포함된 데이터에 제한은 없다. 이 서비스는 무제한 큐와 메시지 트래픽을 모두 지원한다.

4. 1. 중복 저장 및 가용성

아마존 SQS는 '''최소 한 번 배달'''을 보장한다. 메시지는 중복 저장을 위해 여러 서버에 저장되어 가용성을 보장한다. 서버를 사용할 수 없는 동안 메시지가 전달되면 해당 서버의 대기열에서 제거되지 않아 다시 전송될 수 있다.[4]

4. 2. 메시지 순서

As of|2007년영어 기준으로, 아마존 심플 큐 서비스는 수신자가 발신자가 보낸 순서대로 메시지를 수신할 것이라고 보장하지 않는다.[4] 메시지 순서가 중요한 경우, 애플리케이션은 전달 후 재정렬을 위해 메시지 내에 순서 정보를 배치해야 한다.

4. 3. 메시지 크기 제한

메시지는 모든 유형일 수 있으며, 포함된 데이터에는 제한이 없다. 메시지 본문은 처음에 8KB 크기로 제한되었지만, 2010년 7월 1일에 64KB로 늘어났고[4], 2013년 6월 18일에 256KB로 다시 늘어났다.[5] 더 큰 메시지의 경우 사용자는 이 제한을 우회하기 위한 몇 가지 옵션을 가지고 있다. 큰 메시지는 별도로 전송되는 여러 세그먼트로 분할하거나, SQS 메시지에 데이터의 포인터만 포함하여 아마존 심플 스토리지 서비스(Amazon S3) 또는 아마존 다이나모DB(Amazon DynamoDB)를 사용하여 메시지 데이터를 저장할 수 있다. 아마존은 이를 위해 확장 클라이언트 라이브러리를 제공하고 있다.[6]

4. 4. 무제한 큐 및 트래픽

이 서비스는 무제한 큐와 메시지 트래픽을 모두 지원한다.

5. 메시지 삭제 (Message Deletion)

SQS는 메시지 전송 후 자동으로 메시지를 삭제하지 않는다. 메시지 전달 시 해당 전달에 대한 영수증 핸들을 생성하여 수신자에게 전송한다. SQS에서 메시지를 삭제하려면 수신자가 영수증을 제공해야 하는데, 이는 2008년 이후 추가된 기능이다.[1] 시스템 분산 특성으로 인해 메시지는 여러 번 전송될 수 있으며, 이 경우 가장 최근의 영수증 핸들이 필요하다.[1]

메시지가 전달되면 '''가시성 제한 시간'''이 적용되어 다른 구성 요소가 해당 메시지를 처리하지 못하게 한다. 가시성 제한 시간은 메시지 전송 시 시작되며, 기본 30초 동안 큐에 메시지 삭제 지시가 없으면 메시지가 다시 표시된다.[1]

각 큐는 '''보존''' 매개변수(기본 4일)로 구성된다. 이 기간보다 오래 큐에 보관된 메시지는 자동 삭제되며, 사용자는 1분에서 최대 14일까지 보존 기간을 수정할 수 있다.[1]

5. 1. 영수증 핸들 (Receipt Handle)

SQS는 메시지가 전송된 후 자동으로 메시지를 삭제하지 않는다. 메시지가 전달되면 해당 전달에 대한 영수증 핸들이 생성되어 수신자에게 전송된다. 이 영수증은 메시지와 함께 전송되는 것이 아니라 메시지에 추가되어 전송된다. SQS는 메시지를 삭제하기 위해 수신자가 영수증을 제공하도록 요구한다. 이 기능은 메시지 삭제에 메시지 ID만 필요했던 2008년 이후에 추가되었다.[1] 시스템이 분산되어 있기 때문에 메시지가 여러 번 전송될 수 있다. 이 경우, 메시지를 삭제하려면 가장 최근의 영수증 핸들이 필요하다.[1] 또한, 영수증 핸들은 다른 유효성 제약 조건을 가질 수 있는데, 예를 들어 영수증 핸들은 가시성 제한 시간(아래 참조) 동안에만 유효할 수 있다.[1]

5. 2. 가시성 제한 시간 (Visibility Timeout)

메시지가 전달되면 다른 구성 요소가 이를 소비하지 못하도록 하는 '''가시성 제한 시간'''이 적용된다. 가시성 제한 시간은 메시지가 전송되면 시작되며, 기본 시간은 30초이다.[1] 이 시간 동안 큐에 메시지를 삭제하라는 지시가 내려지지 않으면, 메시지는 다시 표시되어 큐에 남아 있게 된다.[1]

5. 3. 메시지 보존 기간 (Retention Period)

각 큐는 기본적으로 4일간의 보존 매개변수로 구성된다.[1] 큐에 그보다 오래 있는 메시지는 자동으로 제거된다.[1] 보존 기간은 사용자가 1분에서 14일까지 변경 가능하며, 메시지가 이미 큐에 있는 중에 보존 기간이 변경된 경우에는 새로운 보존 기간을 초과하는 메시지는 제거된다.[1]

6. 주요 사용 사례 (Notable Usage)

SQS는 아마존닷컴 내부에서도 널리 사용되고 있다.[14]

6. 1. 글로벌 기업

다음은 SQS를 광범위하게 사용하는 회사들의 예시이다.

7. 관련 기술

참조

[1] 웹사이트 Amazon Simple Queue Service Released https://aws.amazon.c[...] 2021-10-29
[2] 웹사이트 My First 12 Years at Amazon.com http://jeff-barr.com[...] 2021-01-11
[3] 웹사이트 AWS SDKs and Tools https://docs.aws.ama[...] 2024-05-29
[4] 웹사이트 Amazon SQS introduces Free Tier and adds Support for Larger Messages and Longer Retention https://aws.amazon.c[...] 2021-01-11
[5] 웹사이트 Amazon SQS and SNS Announce 256KB Large Payloads https://aws.amazon.c[...] 2021-01-11
[6] Github An extension to the Amazon SQS client that enables sending and receiving messages up to 2GB via Amazon S3.
[7] AV media AWS re:Invent 2014 {{!}} (PFC308) How Dropbox Scales Massive Workloads Using Amazon SQS https://www.youtube.[...] 2024-12-07
[8] 웹사이트 '"More Like This…" Building a network of similarity' http://techblog.netf[...] 2011-04-18
[9] 웹사이트 Nextdoor Taskworker: Simple, Efficient & Scalable https://engblog.next[...] 2014-08-13
[10] 웹사이트 Amazon SQS FAQs {{!}} Message Queuing Service {{!}} AWS https://aws.amazon.c[...] 2024-12-07
[11] 웹사이트 Jeff Barr's Blog http://jeff-barr.com[...] Jeff-barr.com 2015-08-13
[12] webarchive https://web.archive.[...] 2011-08-29
[13] 웹사이트 Amazon SQS and SNS Announce 256KB Large Payloads http://aws.amazon.co[...] Aws.amazon.com 2013-06-18
[14] 문서 http://techblog.netf[...]
[15] 문서 https://engblog.next[...]
[16] 웹인용 Amazon Simple Queue Service Released https://aws.amazon.c[...] 2021-10-29
[17] 웹인용 My First 12 Years at Amazon.com http://jeff-barr.com[...] 2021-01-11



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com